Parallel infinite element method calculation system

ABSTRACT

The well known methods for a very large scaled structure problem, including domain decomposition method (DDM), DDM with Neumann preprocessing, BDD method and projected CG method, may involve problems that the divergence prevents from solving, and that the computation takes long time. The present invention provides a system of high potential computing performance for solving a very large scaled structure problem without divergence, with shorter computing time for a very large scaled structure problem of the degree of freedom of a million or more. The present invention comprises a parallel finite element method computing system for solving a very large scaled structure problem having the degree of freedom of one million (1,000,000) or more, comprising: a means for performing domain decomposition; a means for distributing a subdomain to a responsible part of each processor; a means for creating a rigid matrix; a means for defining overlapped movement of entire subdomain; a means for defining a default setting of projected CG method with preprocessing of all degree of freedom; a means for performing iterative computation of projected CG method with preprocessing of all degree of freedom; and a means for outputting a displacement solution, and a program for operating said system, and a computer readable recording medium having said program stored thereon.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a very large scale parallel finite element method solver algorithm, which may effectively solve a very large scale structure problem of the degree of freedom of more than a million (1,000,000). More particularly, the algorithm incorporates a conjugate projected gradient algorithm of the domain decomposition, based on a parallel CG algorithm. The algorithm may be referred to as a “CGCG method (coarse Grid CG method)”: A space of the degree of freedom of subdomain level by the domain decomposition is referred to as a coarse space, and the subspace perpendicular to K is referred to as a fine space, where a stiffness matrix of the given structure problem is defined as K. The CGCG method may perform in parallel the conjugate projected gradient algorithm, adopting the k-orthogonal projection to the fine space for the projection.

2. Description of the Prior Art

The structural problem may be in general treated as follows: The objective structure in question is formulated as a continuum to define the dynamic equation of the continuum (equalizing equation in case of a static problem). It is almost impossible to solve this equation strictly. Rather the equation must be solved in such a manner as the numerical analysis. For this reason a reformulation of discrete proximity of the continuum problem is required. One of the solution proposed is the finite element method (computational dynamics handbook (I): finite element method for the structure, Japan Society of Mechanical Engineers, 1998) In the finite element method the space occupied by the continuum is at first decomposed to a plurality of elements (elements of the finite element method). Functions (form functions) having a domain with non-zero value localized to each element is then introduced to proximate to limit the continuum displacement field to expressions of the convolution of these functions. This may result in digitizing of the continuum displacement field and its motion equation (or equalizing equation). The digitizing allows the equation to decompose to a single linear equation (in case of a static linear problem) or a plurality of linear equations (for each incremental step in case of a non-linear problem; for each time step in case of dynamic problem). The degree of freedom (or dimension) treated by the linear equation is depending on the number of division of elemental decomposition of the continuous domain by the finite element method; the degree of freedom increases in general with the increase of the number of decomposition for better proximity, causing the difficulty of solving the corresponding linear equation.

The static structural problem of micro deformation may be decomposed to a linear problem on a product vector space in a finite dimension V given by the following equation (1) Ku=F  eq 1 where V designates to a space of permissible displacement field (vector field satisfying the boundary conditions of the displacement field), K to a stiffness matrix of the dimension dimV of V (symmetric when positive fixed set point), u to a variable vector of V, F to a constant vector of the KV≈V indicative of external force. The dimension dimV of V is equal to the number of the degree of freedom of the problem. The objective of the solver is to find a vector u, which satisfies the equation (1) above from within V.

Now the conjugate projected gradient algorithm (CPG: Conjugate Projected Gradient Algorithm: C. Farhat, F. X. Roux: Implicit Parallel Processing in Structural Mechanics, Computational Mechanics Advances 2, 1-124, 1994) will be described, which constitutes the base of the present invention. Consider a generic liner equation (eq. 2) of an inner product vector space V in a finite dimension: Ku=F, u, FεV  eq 2 where K is a linear transform of positive constant symmetry. One subspace Y of V is then selected. V is K-orthogonally projected to Y. A unique K-orthogonal projector P^((Y)), KP^((Y))=P^((Y)) ^(T) K is determined. P^((Y)) ^(T) is the transposition of P^((Y)). At this point a K-orthogonal projector P^((a)) (auxiliary projector of P^((Y))), KP^((a))=P^((a)) ^(T) K is uniquely determined, which satisfies the condition P^((Y))+P^((a))=1, the entire space V may be k-orthogonal direct sum decomposed to the image space Y, V^((a)) of the P^((Y)) and P^((a)), as given by equation (3): $\begin{matrix} {{V = {Y \oplus V^{(a)}}},\quad{Y\bot_{K}V^{(a)}},\quad{\begin{pmatrix} Y \\ V^{(a)} \end{pmatrix} = {\begin{pmatrix} p^{(Y)} \\ p^{(a)} \end{pmatrix}V}}} & {{eq}\quad 3} \end{matrix}$ The K-orthogonality of P^((Y)) ^(T) P^((Y)) and P^((a)) can be summarized as equation (4): $\begin{matrix} {{K\begin{pmatrix} P^{(Y)} \\ P^{(a)} \end{pmatrix}} = {\begin{pmatrix} P^{{(Y)}^{T}} \\ P^{{(a)}^{T}} \end{pmatrix}K}} & {{eq}\quad 4} \end{matrix}$ Therefore the linear equation eq. (2) can be decomposed to equation (5) $\begin{matrix} {{{K\begin{pmatrix} P^{(Y)} \\ P^{(a)} \end{pmatrix}}u} = {\begin{pmatrix} P^{{(Y)}^{T}} \\ P^{{(a)}^{T}} \end{pmatrix}F}} & {{eq}\quad 5} \end{matrix}$ Now the KY-component of F, P^((Y)) ^(T) F and KV^((a))-component, P^((a)) ^(T) F, or Y-component of u, P^((Y))u and V^((a))-component P^((a))u maybe independently processed. In brief, equation (2) can be K-orthogonally direct sum decomposed to two independent equations (6) and (7) with equation (8). For the sake of convenience, Y is referred to as direct space, V^((a)) that is k-orthogonal auxiliary space of Y is referred to as iterative space. Ku^((Y))=F_((Y)), u^((Y))εY, F_((Y))εKY  eq 6 Ku^((a))=F_((a)), u^((a))εV^((a)), F_((a))εKV^((a))  eq 7 u=u ^((a)) +u ^((Y)) , F=F _((a)) +F _((Y))  eq 8 Now consider that a subspace W of the direct space Y is specially determined. This W is referred to as coarse space, herein below. The K-orthogonal auxiliary space of W is referred to as a fine space. When Y is K-orthogonal direct sum decomposed to W and W^(c), the K-orthogonal auxiliary space of W, equation (9) on W may be set in a manner similar to equation (6) as follows: u ^((W)) εW:Ku ^((W)) =F _((W)) , F _((W)) ≡P ^((W)) ^(T) FεP ^((W)) ^(T) V=KW  eq 9 where P^((W)) designates to the k-orthogonal projector to W. This equation is referred to as the coarse grid problem. If W is defined by setting its base {e_(j) ^((W))}_(j), equation 9 may be formulated to the following equation (10): u ^((W)) =e _(j) ^((W)) u ^(j) , K _(ij) ^((W)) u ^(j) =F _(i)  eq 10 Now the following equation (11) is defined: K _(ij) ^((W)) ≡e _(i) ^((W)) ·Ke _(j) ^((W)) , F _(i) ≡e _(i) ^((W)) ·F=e _(i) ^((W)) ·F _((W))  eq 11 where K_(ij) ^((W)) is referred to as a coarse grid matrix. The equal sign in the second equation is due to the orthogonality of W with the image space K(W^(c)β_(K)V^((a)))) of fine space W^(c)⊕_(K)V^((a)) by K.

Now consider to solve, among k-orthogonally direct sum decomposed equations, equation (6) by the direct method, and equation (7) by the iteration method. When applying the iteration method to equation (7), iterative equation of n-th step may be written as following equations (12) and (13): Ku _(n) ^((a)) +r _((a)) _(n) =F _((a)), u_(n) ^((a))εV^((a)), F_((a))εKV^((a))  eq 12 r_((a)) _(n) ≡F_((a))−Ku_(n) ^((a)), u_(n)≡u^((Y))+u_(n) ^((a))  eq 13 where r_((a)) _(n) designates to the residual error. Note that r_((a)) _(n) εKV^((a)). For the iteration method, the CG method with preprocess, which includes P^((a))GP^((a)) ^(T) (where G is symmetric) as the preprocess determinant: P^((a))GP^((a)) ^(T) −CG method, equations (14) to (16) will be adopted: p ₀ =P ^((a)) Gr _((a)) ₀ εV ^((a))  eq 14 $\begin{matrix} {{u_{n + 1}^{(a)} = {u_{n}^{(a)} + {\alpha_{n}p_{n}}}},{r_{{(a)}_{n + 1}} = {r_{{(a)}_{n}} - {\alpha_{n}{Kp}_{n}}}},{\alpha_{n} \equiv \frac{r_{{(a)}_{n}} \cdot {Gr}_{{(a)}_{n}}}{p_{n} \cdot {kp}_{n}}}} & {{eq}\quad 15} \\ {{p_{n + 1} = {{P^{(a)}{Gr}_{{(a)}_{n + 1}}} + {\beta_{n}p_{n}}}},{\beta_{n} = \frac{r_{{(a)}_{n + 1}} \cdot {Gr}_{{(a)}_{n + 1}}}{r_{{(a)}_{n}} \cdot {Gr}_{{(a)}_{n}}}}} & {{eq}\quad 16} \end{matrix}$ where p_(n) designates a search direction vector of P^((a))GP^((a)) ^(T) −CG method. Note that P^((a)) ^(T) r_((a)) _(n) =r_((a)) _(n) εKV^((a)). As shown here, the method which solves one of equations k-orthogonally direct sum decomposed by the CG method with preprocess is referred to as conjugate projected gradient (CPG) method. In the discussion which follows, such method will be referred to as projected CG method, including solving the other of equations by direct method, for the sake of convenience.

K-orthogonal projector to the subspace W⊕_(K)V^((a)) is designated to P^((W+a)). Although it is impossible to directly compute P^((a)) itself, P^((W+a)) may be computable, and now consider a case that the base of W, {e_(j) ^((W))}_(j) is given. In such a case the preprocess computation of P^((a))Gr_((a)) _(n) in equations (14) and (16) may be conducted as follows: P^((a))Gr_((a)) _(n) may be rewritten as equation (17): P ^((a)) Gr _((a)) _(n) =P ^((W+a)) Gr _((a)) _(n) −μ_(n) ^((W)) , Kμ _(n) ^((W)) =P ^((W)) ^(T) KGr _((a)) _(n)   eq 17 μ_(n) ^((W))εW can be determined from equation (4). The preprocessing computation P^((a))Gr_((a)) _(n) can be reduced to the coarse grid problem of equation (18). μ_(n) ^((W)) εW:Kμ _(n) ^((W)) =P ^((W)) ^(T) KGr _((a)) _(n)   eq 18 The coarse grid problem can be solved by following the procedure of equation (10).

To characterizing the CGCG method, conventional finite element method parallel solver algorithm, DDM, BDD method, parallel CG method are now described herein below. As will be described, existent finite element method parallel solver algorithm, DDM, BDD method based on the domain decomposition may be considered to pertain a projected CG method based on the k-orthogonal direct sum decomposition method. In the following, V is defined as space of all degree of freedom in the structure problem determined according to the finite element method, and the linear equation to be solved is given as equation (19) by: Ku=F, u, FεV  eq 19 where K designates to a stiffness matrix.

There is a domain decomposition method (DDM) conceived as a method for efficiently solving (in particular in the parallel processing) a very large scale problem (a problem having the degree of freedom of or more than approximately 1,000,000). Elements decomposed according to the finite element method and adjoining each other are appropriately grouped. The spatial domain occupied by a group is referred to as a subdomain (see FIG. 1). The space is hierarchically decomposed and scattered such that the entire domain is at first decomposed to subdomains, then a subdomain is decomposed to finite elements, and soon. The process on the entire domain will be split into two levels, a process for intra-subdomain and a process for inter-subdomain. The process for intra-subdomain may be paralleled. The two step process as described above may be achieved by separately processing the displacement into the displacement within a subdomain in response to a stress applied to the inside of subdomain, and the remaining displacement in response to a stress applied to the boundary between subdomains (internal boundary). The latter displacement may be further separated into the displacement within the subdomain and the displacement on the internal boundary, the former one is the slave variable of the latter. The degree of freedom of the internal boundary, which is an independent variable, may be solved by the CG method. By solving the internal boundary, the displacement within a subdomain can be determined as the displacement of non-load with the boundary condition of the displacement on the boundary.

More specifically, the entire domain {overscore (Ω)}occupied by the structure is decomposed to the boundary Γ, domain fused of entire contents of subdomains Ω_(i), and internal boundary Γ_(s). Γ and Γ_(s) may be partly overlapped. The freedom space of the admissible displacement on the {overscore (Ω)} constitutes the total space of the degree of freedom V. By using a form function array {φ_(α)}_(α) as the standard orthogonal base, an inner product is defined to V. The inner product may depend on the {φ_(α)}_(α), and may be set for the convenience of computation which may vary according to the digitizing method, thus may have neither objective nor physical meaning. The domain {overscore (Ω)}−Γ_(s) include Ω_(i). The space V^(i) of the degree of freedom of the admissible displacement on the {overscore (Ω)}−Γ_(s) is perpendicular to the space Vs of the degree of freedom of the admissible displacement on the internal boundary Γ_(s), The entire space of the degree of freedom V may be orthogonally direct sum decomposed to V^(i) and V^(s) as given by equation (20): V=V _(i)⊕V_(s), V_(i)⊥V_(s)  eq 20 Based on this direct sum decomposition, linear transform of positive fixed set point may be block decomposed to ${K = \begin{pmatrix} K_{ii} & K_{is} \\ K_{si} & K_{ss} \end{pmatrix}},$ and diagonalized as given by equation (21): $\begin{matrix} {K = {\begin{pmatrix} K_{ii} & K_{is} \\ K_{si} & K_{ss} \end{pmatrix} = {\begin{pmatrix} 1 & \quad \\ {K_{si}K_{ii}^{- 1}} & 1 \end{pmatrix}\begin{pmatrix} K_{ii} & \quad \\ \quad & S \end{pmatrix}\begin{pmatrix} 1 & {K_{ii}^{- 1}K_{is}} \\ \quad & 1 \end{pmatrix}}}} & {{eq}\quad 21} \end{matrix}$ where S is Schur's element. Projectors P^((i)), P^((s)) may be defined as equation (22): $\begin{matrix} {{P^{(i)} \equiv \begin{pmatrix} 1 & {K_{ii}^{- 1}K_{is}} \\ \quad & 0 \end{pmatrix}},\quad{{P^{(s)} \equiv {1 - P^{(i)}}} = \begin{pmatrix} 0 & {{- K_{ii}^{- 1}}K_{is}} \\ \quad & 1 \end{pmatrix}}} & {{eq}\quad 22} \end{matrix}$ where P^((s)) causes the displacement on the internal boundary Γ_(s) to correspond to the displacement {overscore (Ω)}−Γ_(s) that has this boundary condition and receives no stress. From the definition equations (23) and (24) can be derived: $\begin{matrix} \begin{matrix} {{KP}^{(i)} = {\begin{pmatrix} {1\quad} & \quad \\ {K_{si}K_{ii}^{- 1}} & 1 \end{pmatrix}\begin{pmatrix} K_{ii} & \quad \\ \quad & 0 \end{pmatrix}\begin{pmatrix} 1 & {{K_{ii}^{- 1}K_{is}}\quad} \\ \quad & 1 \end{pmatrix}}} \\ {= \begin{pmatrix} K_{ii} & K_{is} \\ K_{si} & {K_{si}K_{ii}^{- 1}K_{is}} \end{pmatrix}} \end{matrix} & {{eq}\quad 23} \\ {{KP}^{(s)} = \begin{pmatrix} {0\quad} & \quad \\ \quad & S \end{pmatrix}} & {{eq}\quad 24} \end{matrix}$ therefore can be written as equation (25): $\begin{matrix} {{K\begin{pmatrix} P^{(i)} \\ P^{(s)} \end{pmatrix}} = {\begin{pmatrix} P^{{(i)}^{T}} \\ P^{{(s)}^{T}} \end{pmatrix}K}} & {{eq}\quad 25} \end{matrix}$ where P^((i)) and P^((s)) are k-orthogonal projectors, which satisfy the condition P^((i))+P^((s))=1. Note that =P^((s)) ^(T) KP^((s)). Therefore, from these projectors, V may be k-orthogonal direct sum decomposed to equation (26) V=V^((i))⊕V^((s)), V^((i))⊥_(K)V^((s)), V^((i))≡P^((i))V, V^((s))≡P^((s))V  eq 26 The relationship between (V^(i) V^(s)) and (V^((i)) V^((s))) may be written as equation (27): $\begin{matrix} {{V^{(i)} = V^{i}},\quad{{KV}^{(s)} = \begin{pmatrix} 0 \\ {SV}^{s} \end{pmatrix}},{V^{(s)} = {{P^{(s)}V^{s}} = {\begin{pmatrix} {{- K_{ii}^{- 1}}K_{is}} \\ 1 \end{pmatrix}V^{s}}}}} & {{eq}\quad 27} \end{matrix}$ Following can be derived therefrom for V^((s)): the second equation indicates that V^((s))is a space of displacement where the reaction on {overscore (Ω)}−Γ_(s) is zero. On the other hand the third equation indicates that V^((s)) is a space of displacement on {overscore (Ω)}, which has as geometric boundary condition the displacement on the Γ_(s). Therefore these two characteristics of V^((s))are equal. Since the eigenspace belonging to the eigenvalue 0 of the projector P^((s)), i.e., kerP^((s)), may be kerP^((s))=V^((i))=V^(i), then V^(s) and V^((s)) are linearly uniform. Thus the limitation of P^((s)) to V^(s), V^(s)→V^((s)), can be found to be linearly uniform. This indicates that when V^((s))is a variable space, V^(s) can be instead used for the variable space.

The direct method space Y and iterative method space V^((a)) of k-orthogonal direct sum decomposed space and equation may be defined as following equation (28): Y=V^((i)), V^((a))=V^((s))  eq 28 and the projection CG method (J. Mandel, M. Brezina: Balancing Domain Decomposition: Theory and Performance in two and Three Dimensions, MGNet, http://casper.cs.yale.edu/mgnet/www/mgnet-papers.ht ml) is applied to the preprocessing determinant G of equation (14) to (16) with unit determinant G=1 to yield the Domain Decomposition Method (DDM). V^((i)) indicates a space of the degree of freedom on the admissible displacement of {overscore (Ω)}−Γ_(s), V^(s) indicates a space of the degree of freedom of the displacement that does not receive any stress on the {overscore (Ω)}, with the admissible displacement on the Γ_(s) and the boundary condition thereof (more exactly, displacement restriction condition). KV^((s)) is a space of the degree of freedom of the reaction force on the internal boundary corresponding to the displacement of V^((s)). In the conventional DDM algorithm V^(s) is used for the variable space instead of V^((s)), according to the foregoing.

By setting G other than the unit determinant, the DDM with preprocessing can be achieved. For the usual preprocessing determinant G, preprocess is valid when ${G \cong S^{-} \equiv \begin{pmatrix} 0 & \quad \\ \quad & S^{- 1} \end{pmatrix}} = {P^{(s)}K^{- 1}{P^{{(s)}^{T}}.}}$

Preprocess used in the CG method of the DDM, includes Neumann preprocess (P. Le. Tallec: Domain decomposition methods in computational mechanics, Computational Mechanics Advances 1 (2) (1994) 121-220). This preprocess uses Neumann preprocess determinant as the above preprocess determinant G, instead of unit determinant of 1. Neumann preprocess determinant may be defined as equation (29) below, as representation of block decomposition corresponding to equation (24) by using general inverse determinant S¹⁻ of Schur auxiliary element S¹ (also referred to as local Schur auxiliary element) of the local stiffness matrix K¹ in each subdomain I: $\begin{matrix} {G = \begin{pmatrix} 0 & \quad \\ \quad & {\sum\limits_{I}{N^{I}D^{I}S^{I -}D^{I^{T}}N^{I^{T}}}} \end{pmatrix}} & {{eq}\quad 29} \end{matrix}$ where I is the index of subdomain by domain decomposition, N^(I) is 0-1 component determinant, which maps the degree of freedom of subdomain I to the degree of freedom of the entire domain, {D^(I)}_(I) is the set $1 = {\sum\limits_{I}{N^{I}D^{I}N^{I^{T}}}}$ of decomposition determinant of 1 to each subdomain. This preprocess is likely not to satisfy the condition G≅S⁻, depending on the selected general inverse determinant S¹⁻.

By applying Neumann preprocess to the DDM, undetermined rigid displacement for each subdomain may be interfused for each iteration, according to the arbitrary selection of S¹⁻. This may cause random floating movement in subdomains, and may be the cause of aggravation of the efficiency of iterative convergence. This may also be the cause of unsatisfying the condition G≅S⁻. The BDD method (Balancing Domain Decomposition method, J. Mandel: Balancing Domain Decomposition, Communications on Numerical Methods in Engineering 9 (1993) 233-341., J. Mandel, M. Brezina: Balancing Domain Decomposition: Theory and Performance in Two and Three Dimensions, MGNet, http://casper.cs.yale.edu/mgnet/www/mgnet-papers.html, ARASOL An Integrated Programming Environment for Parallel Sparse Matrix Solvers (Project No. 20160), Deliverable D 2.4e Final report Domain Decomposition Algorithms for Large Scale Industrial Finite Element Problems, Jul. 30, 1999) is a solution based on the DDM by using the CG method with preprocessing for the displacement on the internal boundary. Specifically for a static problem of micro deformation of linear material, this method divides the displacement responsive to the stress applied onto the internal boundary to the rigid displacement for each subdomain and residual distortional displacement to solve the former freedom by using the direct method prior to the latter freedom, which will be solved by the CG method with preprocessing. In other words, projection that avoids the interference of the freedom of rigid displacement for each subdomain already solved in advance is added to Neumann preprocessing for every iteration. More specifically, this projection is introduced in such a manner that it eliminates any stress which may cause random floating movement in the subdomain, or it is a correspondence F→F_((a)) in equations (7) and (8) of k-orthogonally direct sum decomposition, or the projection of residual error r→r_((a)) in the projected CG method algorithm. As can be seen from the foregoing, the projection as described above is referred to as balancing, which suppresses the floating movement in subdomains by improving the DDM with Neumann preprocessing.

More specifically, subspace V^((s))=P^((s))V^(s) in the DDM is further k-orthogonally direct sum decomposed as follows: by considering a movement that sum spaces across I of subspace including kerS¹, for example every rigid displacement of a subdomain are summed for all of subdomains, the space of that degree of freedom is defined as a coarse space W. W is a subspace of V^((s)) V^((s)) is then k-orthogonally direct sum decomposed to W and k-orthogonal auxiliary space V^((t)) for V^((s)). Now by defining a pair of k-orthogonal projectors P^((W)) and P^((t)), equation (30) can be given: $\begin{matrix} {{P^{(s)} = {P^{(W)} + P^{(t)}}},{{K\begin{pmatrix} P^{(W)} \\ P^{(t)} \end{pmatrix}} = {\begin{pmatrix} P^{{(W)}^{T}} \\ P^{{(t)}^{T}} \end{pmatrix}K}}} & {{eq}\quad 30} \end{matrix}$

The space of all freedom V may be k-orthogonal direct sum decomposed to equations (31) and (32): V=V^((i))⊕W⊕V^((i)), V^((i))⊥_(K)W, V^((i))⊥_(K)V^((a)), W⊥_(K)V^((t))  eq 31 W=P^((W))V, V^((t))≡P^((t))V  eq 32

Now define the direct method space and iterative method space of k-orthogonal direct sum decomposition of the space and equation as equation (33): Y=V^((i))⊕_(K)W, V^((a))=V^((t))  eq 33

In the BDD method, the projection CG method (J. Mandel, M. Brezina: Balancing Domain Decomposition: Theory and Performance in Two and Three Dimensions, MGNet, http://casper.cs.yale.edu/mgnet/www/mgnet-papers.html) is applied thereto after having preprocessing determinant G of equations (14) to (16) substituted for Neumann preprocessing determinant. In particular, preprocessing corresponding to equations (17) and (18) may be rewritten as equations (34) and (35) as follows, since P^((W+a))=P^((s)): P ^((a)) Gr _((a)) _(n) =P ^((s)) Gr _((a)) _(n) −μ_(n) ^((W))  eq 34 μ_(n) ^((W)) εW:Kμ _(n) ^((W)) =P ^((W)) ^(T) KGr _((a)) _(n)   eq 35

The projection Gr_((a)) _(n) ″P^((s))Gr_((a)) _(n) may be computed as stated in equation (22).

The iterative space V^((t)) of the BDD method is also defined together with the later definition of W¹ of the local coarse space. This is also a balanced space. K⁻¹-orthogonal projection from a balanced space to an image space SV^((a)), r_((a)) _(n) εSV^(s)→P^((a)) ^(T) r_((a)) _(n) εεSV^((a)) is referred to as “balancing” (J. Mandel: Balancing Domain Decomposition, Communications on Numerical Methods in Engineering 9 (1993)233-341., J. Mandel, M. Brezina: Balancing Domain Decomposition: Theory and Performance in Two and Three Dimensions, MGNet, http://casper.cs.yale.edu/mgnet/www/mgnet-papers.html). Balancing may not appear directly in algorithm equations (14) to (16) of the projection CG method applied to the BDD method, however is corresponded to k-orthogonal projection Gr_((a)) _(n) εV^(s)⊂V→P^((a))Gr_((a)) _(n) εV^((a)) equations (14) and (16). In contrast to the DDM, even when G of BDD method may be G≢S⁻, if P^((a))GP^((a)) ^(T) ≅P^((a))S⁻P^((a)) ^(T) =P^((a))K⁻¹P^((a)) ^(T) then it is valid for the preprocessing. Neumann preprocessing determinant equation (29) satisfies this condition, which may solve the problem of the DDM with Neumann preprocessing, as stated above in the beginning of this section.

In the parallel CG method no domain decomposition is conducted, rather all freedom space V is processed in the CG method. In addition k-orthogonal direct sum decomposition of V is not performed. This corresponds Y={0} for the direct method space. If the problem to be solved is large scaled, and the dimensions of vector space V is large, then the domain subject to be analyzed will be split into some spaces (referred to as “part”) the degree of freedom for every subspaces will be processed in different processors based on the V decomposition (decomposition that leaves boundary overlapped) along with the division. Interprocess communication is necessary only when some computations are conducted, which require information exchange between subspaces such as the inner product of vectors or matrix-vector product.

As can be seen, solutions according to the DDM (Domain Decomposition Method), the DDM with Neumann preprocessing, the BDD (Balancing Domain Decomposition) method, and the parallel CG method have been described, for solving a very large scale structure problem. However, there has been pointed out the problems associated therewith that none of these methods may determine the solution because of divergence at the time of solving a very large scaled structure problem, and the computation is very time-consuming. The present invention has been made in view of the above circumstances and has an object to overcome the above problems and to provide a systematic CGCG method for solving a very large scaled structure problem having the degree of freedom of a million or more, which allows determining the solution without divergence of solutions, with less number of steps of iterative computation, and with less time-consuming computation.

SUMMARY OF THE INVENTION

The present invention provides a system for solving a very large scaled structure problem, a program for operating the system, and a computer readable recording medium having the program stored thereon. The CGCG method is a finite element method solver algorithm for a very large scaled structure problem, which uses the projection CG method with preprocessing, by performing domain decomposition, defining thereby coarse space without regarding the inside of subdomain and boundary, and adopting simple diagonal scaling for the preprocessing.

The present invention provides a parallel finite element method computing system for solving a very large scaled structure problem having the degree of freedom of one million (1,000,000) or more, characterized by a means for performing domain decomposition; a means for distributing a subdomain to a responsible part of each processor; a means for creating a rigid matrix; a means for defining overlapped movement of entire subdomain; a means for defining a default setting of projected CG method with preprocessing of all degree of freedom; a means for performing iterative computation of projected CG method with preprocessing of all degree of freedom; and a means for outputting a displacement solution.

Said means for defining overlapped movement of entire subdomain may further include a means for creating a projector for displaying all degree of freedom; a means for creating an overlapped movement matrix of entire subdomain; and a means for LU decomposing said overlapped movement matrix of entire subdomain.

Said means for defining a default setting of projected CG method with preprocessing of all degree of freedom may further include a means for setting initial displacement of all degree of freedom; a means for performing computation of initial residual error of all degree of freedom; a means for performing computation of diagonal scaling preprocessing; a means for performing computation of coarse grid preprocessing of all degree of freedom; and a means for defining an initial vector value in the search direction of CG method with all degree of freedom.

Said means for performing iterative computation of projected CG method with preprocessing of all degree of freedom may further include a means for updating the displacement of all degree of freedom; a means for updating the residual error of all degree of freedom; a means for performing computation of diagonal scaling preprocessing; a means for performing computation of coarse grid preprocessing of all degree of freedom; a means for updating vectors in the search direction of CG method of all degree of freedom; and a means of determining the convergence.

The present invention may also provide a program for operating said system. More specifically, the present invention provides a parallel finite element method computing program used in a parallel finite element method computing system for solving a very large scaled structure problem having the degree of freedom of one million (1,000,000) or more, characterized by operating as a means for performing domain decomposition; a means for distributing a subdomain to a responsible part of each processor; a means for creating a rigid matrix; a means for defining overlapped movement of entire subdomain; a means for defining a default setting of projected CG method with preprocessing of all degree of freedom; a means for performing iterative computation of projected CG method with preprocessing of all degree of freedom; and a means for outputting a displacement solution,

-   in which said means for defining overlapped movement of entire     subdomain may further operate as a means for creating a projector     for displaying all degree of freedom; a means for creating an     overlapped movement matrix of entire subdomain; and a means for LU     decomposing said overlapped movement matrix of entire subdomain; -   in which said means for defining a default setting of projected CG     method with preprocessing of all degree of freedom may further     operate as a means for setting initial displacement of all degree of     freedom; a means for performing computation of initial residual     error of all degree of freedom; a means for performing computation     of diagonal scaling preprocessing; a means for performing     computation of coarse grid preprocessing of all degree of freedom;     and a means for defining an initial vector value in the search     direction of CG method with all degree of freedom; -   in which said means for performing iterative computation of     projected CG method with preprocessing of all degree of freedom may     further operate as a means for updating the displacement of all     degree of freedom; a means for updating the residual error of all     degree of freedom; a means for performing computation of diagonal     scaling preprocessing; a means for performing computation of coarse     grid preprocessing of all degree of freedom; a means for updating     vectors in the search direction of CG method of all degree of     freedom; and a means of determining the convergence.

The present invention provides a computer readable recording medium having the program stored thereon for operating said system. More specifically, the present invention provides a computer readable recording medium having stored thereon a parallel finite element method computing program used in a parallel finite element method computing system for solving a very large scaled structure problem having the degree of freedom of one million (1,000,000) or more, characterized by operating as a means for performing domain decomposition; a means for distributing a subdomain to a responsible part of each processor; a means for creating a rigid matrix; a means for defining overlapped movement of entire subdomain; a means for defining a default setting of projected CG method with preprocessing of all degree of freedom; a means for performing iterative computation of projected CG method with preprocessing of all degree of freedom; and a means for outputting a displacement solution,

-   in which said means for defining overlapped movement of entire     subdomain may further operate as a means for creating a projector     for displaying all degree of freedom; a means for creating an     overlapped movement matrix of entire subdomain; and a means for LU     decomposing said overlapped movement matrix of entire subdomain; -   in which said means for defining a default setting of projected CG     method with preprocessing of all degree of freedom may further     operate as a means for setting initial displacement of all degree of     freedom; a means for performing computation of initial residual     error of all degree of freedom; a means for performing computation     of diagonal scaling preprocessing; a means for performing     computation of coarse grid preprocessing of all degree of freedom;     and a means for defining an initial vector value in the search     direction of CG method with all degree of freedom; -   in which said means for performing iterative computation of     projected CG method with preprocessing of all degree of freedom may     further operate as a means for updating the displacement of all     degree of freedom; a means for updating the residual error of all     degree of freedom; a means for performing computation of diagonal     scaling preprocessing; a means for performing computation of coarse     grid preprocessing of all degree of freedom; a means for updating     vectors in the search direction of CG method of all degree of     freedom; and a means of determining the convergence.

The above and further objects and novel features of the present invention will more fully appear from following detailed description of a preferred embodiment, when the same is read in connection with the accompanying drawings. It is to be expressly understood, however, tha the drawings are for the purpose of illustration only and not intended as a definition of the limits of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this specification illustrate an embodiment of the invention and, together with the description, serve to explain the objects, advantages and principles of the invention. In the drawings,

FIG. 1 is a schematic diagram illustrating domain decomposition; and

FIG. 2 is a schematic flowchart illustrating computation in the CGCG method.

DETAILED DESCRIPTION

The CGCG method is a finite element method solver algorithm used for a very large scaled structure problem, using a projected CG method with preprocessing, by performing domain decomposition, defining a coarse space without distinguishing inside of subdomain with boundary, and adopting simple diagonal scaling for the preprocess. Similar to the DDM and the BDD method, the CGCG method is formed on the projected CG method, which is based on the domain decomposition. First, define Y=W, and according to equation (3), all freedom space V is k-orthogonally direct sum decomposed as following equation (36): $\begin{matrix} {{V = {W \oplus V^{(a)}}},{W\bot_{K}V^{(a)}},{\begin{pmatrix} W \\ V^{(a)} \end{pmatrix} = {\begin{pmatrix} P^{(W)} \\ P^{(a)} \end{pmatrix}V}}} & {{eq}\quad 36} \end{matrix}$ here lies a problem to select which subspace of V as the coarse space W. In the CGCG method, a subspace of V is to be elected which represents for W some limited movement (such as rigid motion) for each subdomain in the domain decomposition.

For example, in a manner similar to the BDD method, if a space having the degree of freedom of movement overlapping for every subdomains rigid displacement of each of subdomains is selected for W, then V^((a)) constitutes the space of displacement indicative of distortion motion within the subdomain. Thus in comparison with equation (33) of the BDD method the direct method space and repetitive method space may be formed as shown in equation (37): Y=W, V^((a))=V^((i))⊕V^((t)), V^((i))⊥_(K)V^((t))  eq 37

In this case, while the BDD method solves by direct method the degree of freedom of V^((i)), the CGCG method attempts to solve it by using the CG method. In this situation the CGCG method imposes much more burden on the CG method and less on direct method. Also in the projected CG method preprocessing of the CGCG method, the direct method has less roles due to the lack of projection processing Gr_((a)) _(n) →P^((s))Gr_((a)) _(n) of equation (34) of the BDD method.

The management of the implementation of coarse space W may also differ, reflecting the difference between the DDM method and the parallel CG method. In the DDM, as V^(s) is used for the variable space, the displacement of entire domain is divided into the displacement inside the subdomain and that on the internal boundary. In the parallel CG method subdomain is not divided into its inside and internal boundary but the inside and internal boundary of subdomains are handled as whole. Coarse space W in the BDD method may be defined as follows: The rigid displacement in the boundary of each subdomain (part of internal boundary) is at first formulated, then the space Ws overlapping over the entire subdomain is set. Then the result will be k-orthogonally projected by P^((s)) of equation (22) to expand to rigid displacement in the subdomain to yield W (i.e., W=P^((s))W^(s)). On the other hand coarse space W in the CGCG method is set by directly formulating the rigid displacement of both inside and boundary entirely for each subdomain to overlap across that subdomain. Accordingly the preprocessing of the projected CG method involves much effort in solving the degree of freedom of space Ws as well as in direct method processing for each and every subdomain (due to the computation of Schur auxiliary element). In contrast to the BDD method, the CGCG method may need only to solve the degree of freedom of rigid displacement for each subdomain including its inside.

Now equation (1) is decomposed to equations (38) (39), (40) in a manner similar to equations (6) to (8): Ku^((W))=F_((W)), u^((W))εW, F_((W))εKW  eq 38 Ku^((a))=F_((a)), u^((a))εV^((a)), F_((a))εKV^((a))  eq 39 u=u ^((a)) +u ^((W)) , F=F _((a)) +F _((W))  eq 40

Equation (38) represents the coarse grid problem for determining W component of displacement u^((W)), equation (39) represents the equation for determining V^((a)) component of displacement u^((a)). The CG method solves equation (38) using modified Choleski method, which is one of direct methods, and equation (39) using the CG iterative processing with preprocessing of the projected CG method, in a manner similar to the projected CG method. The preprocessing determinant {overscore (G)} of the CG iterative method with preprocessing is selected, in accordance with equations (14) to (16), to be G=D_(K) ⁻¹ to define equation (41): {overscore (G)}=P ^((a)) D _(K) ⁻¹ P ^((a)) ^(T)   eq 41 where D_(K) ⁻¹ designates to an inverse matrix of D_(K), D_(K) to a diagonal matrix of K (a diagonal matrix having diagonal components equal to those of K). The effect on residual error r_((a)) _(n) εKV^((a)) may be substantially {overscore (G)}r_((a)) _(n) =P^((a))D_(K) ⁻¹r_((a)) _(n) , i.e. the preprocessing in the CGCG method is the combination of diagonal scaling of K with k-orthogonal projection P^((a)) to the iterative space V^((a)).

In the BDD method Neumann preprocessing is performed, which is a heavy processing for computing general inverse matrix S¹⁻ of local Schur auxiliary element S¹ for every subdomain, while on the other hand the CGCG method reduces the burden by using much simpler and lightweight preprocessing, namely diagonal scaling, to significantly decrease the computational cost and required amount of memory.

The definition of coarse space W in k-orthogonal decomposition equation (36) by the CGCG method will be now described below. I designates to the index of subdomains by the domain decomposition. The vector space made by the degree of freedom within the subdomain I is represented by V^(I). The subspace W^(I) of V^(I) is then defined, which is referred to as “local coarse space”. Weighted overlap of {W^(I)}_(I) of coarse space W defines as equation (42): W≡span{N ^(I) D ^(I) W ^(I)}_(I) }=⊕N ^(I) D ^(I) W ^(I)  eq 42 S where {D^(I)}_(I) indicates the decomposition of I to subdomains in a manner similar to Neumann preprocessing, $1 = {\sum\limits_{I}{N^{I}D^{I}{N^{I^{T}}.}}}$ W^(I) is the space of displacement indicative of defined movement (for example rigid motion) of subdomain I. m^(I)≡dim W^(I) is defined as the dimension of W^(I), {Z_(j) ^(I)}_(j=1,L,m) _(I) and as the base of W^(I). {N ^(I) D ^(I) Z _(j) ^(I)}_(j=1,L,m) ^(t) _(I)  eq 43

Equation (43) constitutes the base of W, and the dimension of $W\quad{is}\quad{\sum\limits_{I}{m^{I}.}}$

If W^(I) satisfies the condition kerS^(I) ⊂W^(I) in particular, the subspace of corresponding fine space is referred to as balanced space. In the BDD method, which performs Neumann preprocessing, W^(I) needs to satisfy the condition kerS^(I) ⊂W^(I), while the CGCG may not. In other words, The iterative space V^((a)) of the CGCG method does not need to be a balanced space.

Now consider a rigid motion, as a defined movement in the subdomain I. At this time W^(I) may be practically formed as follows. The rigid motion in the subdomain I can be represented as described below. By defining X_(α) ^(I) as the initial coordinate of node α on the subdomain I, X_(α) ^(I) as the coordinate after the deformation, following equations (44), (45), (46) can be given: x _(α) ^(I) =P _(j) v ^(j) +e ^(I) ^(θ) ^(j) X _(α) ^(I)  eq 44 $\begin{matrix} {{P_{1} \equiv \begin{pmatrix} \begin{matrix} 1 \\ 0 \end{matrix} \\ 0 \end{pmatrix}},{P_{2} \equiv \begin{pmatrix} \begin{matrix} 0 \\ 1 \end{matrix} \\ 0 \end{pmatrix}},{P_{3} \equiv \begin{pmatrix} \begin{matrix} 0 \\ 0 \end{matrix} \\ 1 \end{pmatrix}}} & {{eq}\quad 45} \\ {{O_{1} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & \quad & {- 1} \\ \quad & 1 & \quad \end{pmatrix}},{O_{2} \equiv \begin{pmatrix} \quad & \quad & 1 \\ \quad & 0 & \quad \\ {- 1} & \quad & \quad \end{pmatrix}},{O_{3} \equiv \begin{pmatrix} \quad & {- 1} & \quad \\ 1 & \quad & \quad \\ \quad & \quad & 0 \end{pmatrix}}} & {{eq}\quad 46} \end{matrix}$

When considering micro-deformation, following equations (47) and (48) can be derived: x _(α) ^(I) ≅P _(j) v ^(j)+(1+O _(j)θ^(j))X _(α) ^(I)  eq 47 $\begin{matrix} {{{u_{\alpha}^{I} \cong {{P_{j}v^{j}} + {O_{j}X_{\alpha}^{I}\theta^{j}}}} = {v + {\theta \times X_{\alpha}^{I}}}},{v \equiv \begin{pmatrix} \begin{matrix} v^{1} \\ v^{2} \end{matrix} \\ v^{3} \end{pmatrix}},{\theta \equiv \begin{pmatrix} \begin{matrix} \theta^{1} \\ \theta^{2} \end{matrix} \\ \theta^{3} \end{pmatrix}}} & {{eq}\quad 48} \end{matrix}$

Now define W^(I) by 6 dimension vector space having the base of six displacement {Z_(j) ^(I)}_(j=1,L,6) on the subdomain I defined by the following condition. This means following equations (49) and (50): $\begin{matrix} {\begin{matrix} {{Z_{j}^{I}:{Z_{J}^{I}\left( X_{\alpha}^{I} \right)}} = P_{j}} \\ {{Z_{3 + j}^{I}:{Z_{3 + j}^{I}\left( X_{\alpha}^{I} \right)}} = {O_{j}X_{\alpha}^{I}}} \end{matrix},{j = 1},2,3} & {{eq}\quad 49} \\ {{W^{I} \equiv \left\{ {\sum\limits_{j = 1}^{m^{I}}{Z_{j}^{I}\mu^{j}}} \middle| {\mu^{j} \in R} \right\}},{m^{I} \leq 6}} & {{eq}\quad 50} \end{matrix}$ Note that in equation 50 following condition is taken into account. Depending on subdomains, the degree of freedom of rigid motion may be less than or equal to 5. In such a situation the number j of term Z_(j) ^(I) should be renumbered such that the base becomes {Z_(j) ^(I)}_(j=1,L,m) _(I) , m^(I)≡-dim W^(I)≦6. Renumbering of the number j uses Gram-Schmidt orthogonal method.

The BDD method is different from the CGCG method in that it defines six displacements on the internal boundary for the {Z_(j) ^(I)}_(j=1,L,6) defined by equation (49), instead of those on subdomain I.

It may be easy to apply the formulae of rigid motion as defined movement as above to the rigid motion of the solid model of the micro deformation problem. In case of the solid model, those six displacements {Z_(j) ^(I)}_(j=1,L,6) on the subdomain I defined by equation (49) will have its node component α as equation (51) below: $\begin{matrix} {\left\{ {{Z_{1}^{I}\left( X_{\alpha}^{I} \right)},{Z_{2}^{I}\left( X_{\alpha}^{I} \right)},{Z_{3}^{I}\left( X_{\alpha}^{I} \right)},{Z_{4}^{I}\left( X_{\alpha}^{I} \right)},{Z_{5}^{I}\left( X_{\alpha}^{I} \right)},{Z_{6}^{I}\left( X_{\alpha}^{I} \right)}} \right\} = \begin{pmatrix} 1 & 0 & 0 & 0 & X^{\alpha^{3}} & {- X^{\alpha^{2}}} \\ 0 & 1 & 0 & {- X^{\alpha^{3}}} & 0 & X^{\alpha^{1}} \\ 0 & 0 & 1 & X^{\alpha^{2}} & {- X^{\alpha^{1}}} & 0 \end{pmatrix}} & {{eq}\quad 51} \end{matrix}$ where X_(α) ^(I) is the initial coordinate of the node α on the subdomain I.

Next, the application to the micro deformation problem shell model will be described. Now one of standard orthogonal bases at the contact space of the shell neutral plane at the node α is selected to be (e₁ ^(α) e₂ ^(α)). e₃ ^(α) is defined as the initial director of the node α. A coordinate x=x(ξ¹, ξ², ξ³) of the point on a shell element can be written as equation (52): $\begin{matrix} {x = {\sum\limits_{\alpha}^{\quad}\quad{{N_{\alpha}\left( {\xi^{1},\xi^{2}} \right)}\left( {X^{\alpha} + U^{\alpha} + {\frac{a^{\alpha}\xi^{3}}{2}\left( {1 + {\varphi^{\alpha} \times}} \right)e_{3}^{\alpha}}} \right)}}} & {{eq}\quad 52} \end{matrix}$ where (ξ¹, ξ², ξ³) is the local coordinate of that shell element. Also, N_(α), X^(α), U^(α), φ^(α) are shape functions of node a, defined on the shell neutral plane, initial node coordinate, current node displacement, amount of rotation of the current director, respectively. $\sum\limits_{\alpha}\quad$ indicates the sum over nodes included in the shell element in question.

The micro-translation of shell x→x+a may be rewritten as equation (53): $\begin{matrix} {{x->{x + a}} = {\sum\limits_{\alpha}^{\quad}\quad{N_{\alpha}\left\lbrack {X^{\alpha} + U^{\alpha} + a + {\frac{a^{\alpha}\xi^{3}}{2}\left( {1 + {\varphi^{\alpha} \times}} \right)e_{3}^{\alpha}}} \right\rbrack}}} & {{eq}\quad 53} \end{matrix}$ in other words, when focusing on the change of the node displacement U^(α) and the amount or rotation of the current director φ^(α), following equation (54) can be yielded: $\begin{matrix} {{x->{x + a}} = {\sum\limits_{\alpha}^{\quad}\quad{N_{\alpha}\left\lbrack {X^{\alpha} + U^{\alpha} + a + {\frac{a^{\alpha}\xi^{3}}{2}\left( {1 + {\varphi^{\alpha} \times}} \right)e_{3}^{\alpha}}} \right\rbrack}}} & {{eq}\quad 53} \end{matrix}$

Now consider the rigid micro-rotation of the shell. The displacement U^(α) and the rotation of current director φ^(α) may be assumed microscopic. Now a rigid micro-rotation 1+O_(i)θ^(i)=1+θx is effectuated to the coordinate x=x(ξ¹, ξ², ξ³). Now {O_(i)}_(i=1,2,3) is the matrix defined by equation 46, and θ=(θ¹ θ² θ³)^(T) is the vector in the rotating direction. The current node coordinate X^(α)+U^(α) by the rigid micro-rotation, the amount of change of the current director ψ^(α)≅(1+φ^(α)x)e₃ ^(α) may be expressed as equation (55) when considering to microscopic amount first order: θ×(X ^(α) +U ^(α))≅θ×X^(α), θ×(1+φ^(α)×)e ₃ ^(α) ≅θ×e ₃ ^(α)=θ^(α) ×e ₃ ^(α)  eq 55 Now θ^(α) can be written as a vector equation (56), which projects θ to the contact space of the shell neutral plane at the node α (subspace extending over (e₁ ^(α) e₂ ^(α))): $\begin{matrix} {\theta^{\alpha} \equiv {\left( {e_{1}^{\alpha}\quad e_{2}^{\alpha}} \right)\begin{pmatrix} {e_{1}^{\alpha} \cdot \theta} \\ {e_{2}^{\alpha} \cdot \theta} \end{pmatrix}}} & {{eq}\quad 56} \end{matrix}$ Thus the amount of change of entire coordinate x due to the rigid micro-rotation can be written by equation (57): $\begin{matrix} {{\theta \times x} \cong {\sum\limits_{\alpha}^{\quad}\quad{N_{\alpha}\left( {{\theta \times X^{\alpha}} + {\frac{a^{\alpha}\xi^{3}}{2}\theta^{\alpha} \times e_{3}^{\alpha}}} \right)}}} & {{{eq}\quad 57}\quad} \end{matrix}$ Therefore the rigid micro-rotation of the shell can be rewritten as equation 58 as follows, when focusing on the node displacement U^(α) and the amount of rotation of the current director φ^(α): $\begin{matrix} {\begin{pmatrix} U^{\alpha} \\ \varphi^{\alpha} \end{pmatrix}->\begin{pmatrix} {U^{\alpha} + {\theta \times X^{\alpha}}} \\ {\varphi^{\alpha} + \theta^{\alpha}} \end{pmatrix}} & {{eq}\quad 58} \end{matrix}$ When combining the micro-translation x→x+a and rigid micro-rotation x→(1+θ×)x, next equation can be yielded: $\begin{matrix} {\begin{pmatrix} U^{\alpha} \\ \varphi^{\alpha} \end{pmatrix}->\begin{pmatrix} {U^{\alpha} + a + {\theta \times X^{\alpha}}} \\ {\varphi^{\alpha} + \theta^{\alpha}} \end{pmatrix}} & {{eq}\quad 59} \end{matrix}$ If the additional term $\quad\begin{pmatrix} {a + {\theta \times X^{\alpha}}} \\ \theta^{\alpha} \end{pmatrix}$ is written as component, equation (60) can be written: $\begin{matrix} {\begin{pmatrix} {a + {\theta \times X^{\alpha}}} \\ \theta^{\alpha} \end{pmatrix} = {\begin{pmatrix} 1 & 0 & 0 & 0 & X^{\alpha^{3}} & {- X^{\alpha^{2}}} \\ 0 & 1 & 0 & {- X^{\alpha^{3}}} & 0 & X^{\alpha^{1}} \\ 0 & 0 & 1 & X^{\alpha^{2}} & {- X^{\alpha^{1}}} & 0 \\ 0 & 0 & 0 & e_{1}^{\alpha^{1}} & e_{1}^{\alpha^{2}} & e_{1}^{\alpha^{3}} \\ 0 & 0 & 0 & e_{2}^{\alpha^{1}} & e_{2}^{\alpha^{2}} & e_{2}^{\alpha^{3}} \end{pmatrix}\begin{pmatrix} a^{1} \\ a^{2} \\ a^{3} \\ \theta^{1} \\ \theta^{2} \\ \theta^{3} \end{pmatrix}}} & \quad & {{eq}\quad 60} \end{matrix}$ It indicates that the component of the node α in the six displacement {Z_(j) ^(I)}_(j=1,L,6) on the subdomain I defined by equation (49) may be expressed as following equation (61): $\begin{matrix} \begin{matrix} {\left\{ {{Z_{1}^{I}\left( X_{\alpha}^{I} \right)},{Z_{2}^{I}\left( X_{\alpha}^{I} \right)},{Z_{3}^{I}\left( X_{\alpha}^{I} \right)},{Z_{4}^{I}\left( X_{\alpha}^{I} \right)},{Z_{5}^{I}\left( X_{\alpha}^{I} \right)},{Z_{6}^{I}\left( X_{\alpha}^{I} \right)}} \right\} =} \\ \begin{pmatrix} 1 & 0 & 0 & 0 & X^{\alpha^{3}} & {- X^{\alpha^{2}}} \\ 0 & 1 & 0 & {- X^{\alpha^{3}}} & 0 & X^{\alpha^{1}} \\ 0 & 0 & 1 & X^{\alpha^{2}} & {- X^{\alpha^{1}}} & 0 \\ 0 & 0 & 0 & e_{1}^{\alpha^{1}} & e_{1}^{\alpha^{2}} & e_{1}^{\alpha^{3}} \\ 0 & 0 & 0 & e_{2}^{\alpha^{1}} & e_{2}^{\alpha^{2}} & e_{2}^{\alpha^{3}} \end{pmatrix} \end{matrix} & {{eq}\quad 61} \end{matrix}$ where X_(α) ^(I) is the initial coordinate of the node α on the subdomain I.

Now consider a movement represented by the affine transformation (a transformation characterized by mirroring a segment to another segment without any change of directed line segment ratio) for the defined movement of the subdomain I (referred to as affine transformation movement herein below).

This is the generalization of rigid motion discussed in the foregoing section, which is the combination of the translational motion and generalized linear transformation motion. W^(I) can be constructed in a practical sense as follows:

The affine transformation movement of the subdomain I can be expressed as follows. Define X_(α) ^(I) as the initial coordinate of the node a on the subdomain I, x_(α) ^(I) as the coordinate after transformation, x _(α) ^(I) =P _(j) v ^(j) +e ^(E) ^(j) ^(e) ^(α) ^(j) ^(+E) ^(j) ^(s) ^(ε) ^(j) ^(+O) ^(j) ^(θ) ^(j) X _(α) ^(I)  eq 62 $\begin{matrix} \begin{matrix} {{E_{1}^{e} \equiv \begin{pmatrix} 1 & \quad & \quad \\ \quad & 0 & \quad \\ \quad & \quad & 0 \end{pmatrix}},} & {{E_{2}^{e} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & 1 & \quad \\ \quad & \quad & 0 \end{pmatrix}},} & {E_{3}^{e} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & 0 & \quad \\ \quad & \quad & 1 \end{pmatrix}} \end{matrix} & {{eq}\quad 63} \\ \begin{matrix} {{E_{1}^{s} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & \quad & 1 \\ \quad & 1 & \quad \end{pmatrix}},} & {{E_{2}^{s} \equiv \begin{pmatrix} \quad & \quad & 1 \\ \quad & 0 & \quad \\ 1 & \quad & \quad \end{pmatrix}},} & {E_{3}^{s} \equiv \begin{pmatrix} \quad & 1 & \quad \\ 1 & \quad & \quad \\ \quad & \quad & 0 \end{pmatrix}} \end{matrix} & {{eq}\quad 64} \end{matrix}$ Or equations (65), (66), (67), and (68) below: x _(α) ^(I) =P _(j) v ^(j) + ^(E) ^(ij) ^(θ) ^(X) _(α) ^(I)  eq 65 $\begin{matrix} \begin{matrix} {{E_{11} \equiv \begin{pmatrix} 1 & \quad & \quad \\ \quad & 0 & \quad \\ \quad & \quad & 0 \end{pmatrix}},} & {{E_{12} \equiv \begin{pmatrix} 0 & 1 & \quad \\ \quad & 0 & \quad \\ \quad & \quad & 0 \end{pmatrix}},} & {E_{13} \equiv \begin{pmatrix} 0 & \quad & 1 \\ \quad & 0 & \quad \\ \quad & \quad & 0 \end{pmatrix}} \end{matrix} & {{eq}\quad 66} \\ \begin{matrix} {{E_{21} \equiv \begin{pmatrix} 0 & \quad & \quad \\ 1 & 0 & \quad \\ \quad & \quad & 0 \end{pmatrix}},} & {{E_{22} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & 1 & \quad \\ \quad & \quad & 0 \end{pmatrix}},} & {E_{23} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & 0 & 1 \\ \quad & \quad & 0 \end{pmatrix}} \end{matrix} & {{eq}\quad 67} \\ \begin{matrix} {{E_{31} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & 0 & \quad \\ 1 & \quad & 0 \end{pmatrix}},} & {{E_{32} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & 0 & \quad \\ \quad & 1 & 0 \end{pmatrix}},} & {E_{33} \equiv \begin{pmatrix} 0 & \quad & \quad \\ \quad & 0 & \quad \\ \quad & \quad & 1 \end{pmatrix}} \end{matrix} & {{eq}\quad 68} \end{matrix}$

Equations (69) and (70) when considering the micro-deformation. x _(α) ^(I) ≅P _(j) v ^(j)+(1+E _(ij)θ^(ij))X _(α) ^(I)  eq 69 $\begin{matrix} \begin{matrix} {{u_{\alpha}^{I} \cong {{P_{j}v^{j}} + {E_{ij}X_{\alpha}^{I}\theta^{ij}}}},} & {{v \equiv \begin{pmatrix} v^{1} \\ v^{2} \\ v^{3} \end{pmatrix}},} & {\theta^{ij} \equiv \begin{pmatrix} \theta^{11} & \theta^{12} & \theta^{13} \\ \theta^{21} & \theta^{22} & \theta^{23} \\ \theta^{31} & \theta^{32} & \theta^{33} \end{pmatrix}} \end{matrix} & {{eq}\quad 70} \end{matrix}$

Now define W^(I) in 12 dimension vector space having its base of twelve displacements {Z_(j) ^(I)}_(j=1,L,12) on the subdomain I defined by the following condition given by: $\begin{matrix} {\begin{pmatrix} U^{\alpha} \\ \varphi^{\alpha} \end{pmatrix}->\begin{pmatrix} {U^{\alpha} + a} \\ \varphi^{\alpha} \end{pmatrix}} & {{eq}\quad 54} \end{matrix}$ then, $\begin{matrix} \begin{matrix} {{W^{I} \equiv \left\{ {\sum\limits_{j = 1}^{m^{I}}{Z_{j}^{I}\mu^{j}}} \middle| {\mu^{j} \in R} \right\}},} & \quad & {m^{I} \leq 12} \end{matrix} & {{eq}\quad 72} \end{matrix}$

Equation 72 considers the following situation as similar to the case of rigid motion. Depending on subdomains, the degree of freedom of the affine transformation movement can be equal to or less than 11. In such a situation the number j of Z_(j) ^(I) should be renumbered such that the base becomes {Z_(j) ^(I)}_(j=1,L,m) ^(I) , m^(I)≡dim W^(I)≦12. Gram-Schmidt orthogonal method is used for renumbering of the number j

Now the computation procedure in practice of the parallel finite element method solver according to the CGCG method will be described in greater details below.

1. Domain Decomposition

The domain subject to be analyzed is decomposed to a plurality of subdomains.

2. Distribution of Subdomains to Responsible Part of Processors

The allocation of decomposed subdomains to each computing node (CPU) is determined. More specifically, each computing node (CPU) is responsible for one of or a plurality of subdomains. The entire subdomains processed by a node is referred to as a “part” (see FIG. 1).

3. Creation of Rigid Matrix

A rigid matrix corresponding to the subdomain processed by a CPU is created.

4. Setting of Overlapped Motion of Entire Subdomain

4.1. Creation of Projector Displaying All Degree of Freedom

The base (the base of subspace can be considered as a projector to that subspace) of coarse space displaying all degree of freedom, D^(I)Z^(I)={D^(I)Z_(j) ^(I)}_(j=1,L,m) ^(I) is created for each subdomain processed by a node, for extracting the overlapped motion of all subdomains.

4.2. Creation of the Matrix K_(rgd) of Overlapped Motion of All Subdomains

the matrix of overlapped motion of all subdomains K_(rrg)=K_(rgd) _(ij) ^(I) ^(J) =D^(I)Z_(i) ^(I)·KD^(J)Z_(j) ^(J) is formed. This computation can be conducted by determining the contribution from that subdomain at the node that maintains the rigid matrix K^(I) of subdomains, and summing all the contributions.

4.3. LU Decomposition of the Matrix K_(rgd) of Overlapped Motion of All Subdomains

LU decomposition K_(rgd)=L_(rgd)U_(rgd) is executed on K_(rgd). The L_(rgd), U_(rgd) thus LU decomposed are kept in all of nodes.

5. Initial Setting of Projected CG Method with Preprocessing of All Degree of Freedom

5.1. Initial Displacement Setting of All Degree of Freedom

5.1.1. Overlapped Movement of All Subdomains μ^((W))

Solve the following equation (73) for μ^((W)): K _(rgd)μ^((W))=(NDZ)^(T) F  eq 73 where NDZ≡{N^(I)D^(I)Z_(j) ^(I)}_(j=1,L,m) _(I) _(I) . F is kept by the node with respect to the responsible part, and the nodes will communicate each other after solving (NDZ)^(T)F to create the right side vector of entire domain, and uses K_(rgd) that has LU decomposed by all nodes to determine μ^((W)). The term corresponding to u^((W)) of equation (10) will be u^((W))=NDZμ^((W)). 5.1.2. Setting of Initial Displacement u₀

Initial displacement u₀ is set according to equation (74) below: u ₀ =NDZμ ^((W))  eq 74

u₀ is kept by each node for their responsible part.

5.2. Computation of Initial Residual Error g₀ of All Degree of Freedom

Initial residual error g₀ will be determined according to equation (75) below: g ₀ =Ku ₀ −F  eq 75 This residual vector is held by each node for their responsible part. Note here that the sign is inverted with respect to the residual error r_((a)) _(n) discussed by referring to equations (14) to (16). 5.3. Computation of Diagonal Scaling Preprocessing

Determine D_(K) ⁻¹g₀ go for the residual error g₀ (this is the diagonal scaling preprocessing). D_(K) ⁻¹ is the inverse matrix of D_(K), D_(K) is the diagonal matrix of K (diagonal matrix which has diagonal components equal to the diagonal components of K). Each node solves this for their responsible part.

5.4. Computation of Coarse Grid Preprocessing of All Degree of Freedom

Coarse grid preprocessing P^((a))Gg₀={overscore (G)}g₀ is executed as follows:

5.4.1. Overlapped Motion Variable for All Subdomains μ^((W))

Solve the following equation (76) for μ^((W)): K _(rdg)μ^((W))=−(NDZ)^(T) KD _(K) ⁻¹ g ₀  eq 76 where right side vector is created by all nodes communicating each other for the entire domain, and all nodes solve μ^((W)). 5.4.2. Setting μ₀ ^((W))

setting μ₀ ^((W)) according to equation (77) μ₀ ^((W)) =NDZμ ^((W))  eq 77 μ₀ ^((W)) is held for the responsible part. 5.4.3. Computation of P^((a))Gg₀={overscore (G)}g₀

{overscore (G)}g₀ is computed according to equation (78) below: {overscore (G)}g ₀=μ₀ ^((W)) +D _(K) ⁻¹ g ₀

This can be solved for the responsible part.

5.5. Setting of Initial Vector Value w₀ in the Search Direction of the CG Method of All Degree of Freedom

Initial vector value w₀ in the search direction of the CG method of all degree of freedom will be set according to equation (79) below: w₀={overscore (G)}g₀  eq 79

This can be solved for the responsible part.

6. Iterative Computation by the Projected CG Method with Preprocessing of All Degree of Freedom

6.1. Displacement Update of All Degree of Freedom

For n≧1, displacement of all degree of freedom u_(n−1) is updated according to the following procedure.

6.1.1. Computation of Kw_(n−1)

Kw_(n−1) is determined for the responsible part.

6.1.2. Computation of α_(n)

All nodes communicating each other will determine α_(n) according to equation (80). $\begin{matrix} {\alpha_{n} = \frac{{g_{n - 1} \cdot \overset{\_}{G}}g_{n - 1}}{{w_{n - 1} \cdot K}\quad w_{n - 1}}} & {{eq}\quad 80} \end{matrix}$ 6.1.3. Update of the Responsible Part of u_(n−1)

The responsible part of u_(n−1) will be updated according to equation (81). u _(n) =u _(n−1)−α_(n) w _(n−1)  eq 81 6.2. Update of Residual Error of All Degree of Freedom

For n≧1, the responsible part of residual error g_(n−1) of all degree of freedom will be updated according to equation 82. g _(n) =g _(n−1)−α_(n) Kw _(n−1)  eq 82 6.3. Computation of Diagonal Scaling Preprocessing D_(K) ⁻¹g_(n)

Similar to 5.3., each node will solve D_(K) ⁻¹g_(n) for the residual error g_(n) for their respective responsible part (diagonal scaling preprocessing).

6.4. Computation of Coarse Grid Preprocessing {overscore (G)}g_(n) of All Degree of Freedom

Using the same procedure as 5.4., {overscore (G)}g_(n) will be determined for the responsible part. More specifically, two equations (83) and (84) will be solved to form equation (85). K _(rgd)μ^((W))=−(NDZ)^(T) KD _(K) ⁻¹ g _(n)  eq 83 μ_(n) ^((W)) =NDZμ ^((W))  eq 84 {overscore (G)}g _(n)−μ_(n) ^((W)) +D _(K) ⁻¹ g _(n)  eq 85 6.5. Update of Vector w_(n−1) of Search Direction of the CG Method of All Degree of Freedom

w_(n−1) will be update according to the following procedure.

6.5.1. Computation of β_(n)

β_(n) will be determined by all nodes communicating each other according to equation (86). $\begin{matrix} {\beta_{n} = \frac{{g_{n} \cdot \overset{\_}{G}}\quad g_{n}}{{g_{n - 1} \cdot \overset{\_}{G}}\quad g_{n - 1}}} & {{eq}\quad 86} \end{matrix}$ 6.5.2. Update of w_(n−1)

w_(n−1) will be updated for the responsible part according to equation (87): w _(n) ={overscore (G)}g _(n)+β_(n) w _(n−1)  eq 87 6.6. Determining Convergence

The convergence will be determined from the updated residual error g_(n). If not convergent, then the procedure will go back to step 6.1. to repeat the steps that follow.

7. Output of Displacement Solution u

u_(n) at the time of convergence of the CG method with preprocessing is set to displacement solution u. Any strain and stress maybe derived from u if needed. This computational procedure is shown in FIG. 2.

[Preferred Embodiment]

The superiority of computing performance of CGCG method over the DDM, parallel CG method, and BDD method will be described with reference to an embodiment. In this embodiment the computing performance of finite element method with a bogie model will be compared. This model includes tetrahedral first order element, 323,639 nodes, 1,123,836 elements, 970,911 degrees of freedom (constrained only 6 degrees of freedom). The computing environment was: four dual Pentium III processors 600 MHz machines, four PEs (one process for each machine) The computing conditions were: the CG method tolerance 1.0*10⁻⁶. The comparison of computing performance is shown in Table 1. From Table 1 one can conclude that the CGCG method has a significantly fewer number of iterative steps and significantly shorter time of computation, in comparison with the DDM and the projected CG method. Although the number of iterative steps of the CGCG method is greater than the BDD method, the computing speed is almost three folds of the BDD method. TABLE 1 memory iterative time usage Method subdomains steps (minutes) (MB/PE) CGCG method 1,600 599 15 167 parallel CG 4 28,565 201 90 method DDM 12,000 20,358 377 167 BDD method 2,400 293 40 440

EXAMPLE 1

Although the comparison with the DDM with Neumann preprocessing is not listed in Table 1, there are a computing example of the comparison of computing performance of the DDM with that of the DDM with Neumann preprocessing. The computing performance of this example is shown in Table 2. This example used a simplified model made by combining a plurality of rectangular parallelepipeds, which includes tetrahedral second order element, 1,029 nodes, 504 elements, 3,087 degrees of freedom (bottom surface completely immobilized and top suraface forcibly displaced). The computing environment was: one Alpha21164 600 MHz machine, one PE, and the computing conditions were the CG method tolerance of 1.0*10⁻⁷. Table 2 shows the computing time and the number of iterative steps of the DDM and the DDM with Neumann preprocessing. The time saved by the DDM with Neumann preprocessing is approximately 13%, the number saved of iterative steps is at most approximately ½. From this example 1 and the preferred embodiment, the CGCG method in accordance with the present invention is characterized by significantly shorter computation time, in comparison with the DDM, the projected CG method, and the DDM with Neumann preprocessing, which are known in the art as the solutions of a very large scaled structure problem, and by significantly faster computing in comparison with the BDD method, which was developed for the purpose of improved speed and robustness. It can be seen that the number of iterative steps may be even greater than the BDD method, but considerably fewer in comparison with the DDM, the projected CG method and the DDM with Neumann preprocessing. The CGCG method has a very high potential in the computing performance for the solution of very large scaled structure problem. TABLE 2 Iterative Computing Method Subdomains steps time DDM 12 420 480 DDM with Neumann 12 240 420 preprocessing Effects of the Invention

As can be seen from the foregoing, the CGCG method is a finite element method solver algorithm which effectively solves a large scale problem, and is applicable to any analysis based on the finite element method. For example, the method can be applicable to the problems in the field of continuum dynamics, solid dynamics, structure theory, hydrodynamics, thermal conduction theory, and electromagnetics, formulated by the finite element method. In addition, the finite element method can be considered to be a generalized solution of boundary value problem in which the differential equation is the dominant equation, then the CGCG method may be applicable as the solution of boundary value problems in general, in which the differential equation is the dominant equation. In any problems the applied CGCG method is effective for efficiently solving a large scaled problem. The CGCG method may significantly save time in the computation in comparison with the DDM, the projected CG method, and the DDM with Neumann preprocessing, all of which are known in the art as the finite element method solver algorithms for solving a large scaled problem, and also significantly save the number of computational iterative steps.

In addition, the CGCG method is potentially higher performer in comparison with the BDD method, which was developed for accelerating the computation. 

1. A parallel finite element method computing system for solving a very large scaled structure problem having the degree of freedom of one million (1,000,000) or more, comprising: a means for performing domain decomposition; a means for distributing a subdomain to a responsible part of each processor; a means for creating a rigid matrix; a means for defining overlapped movement of entire subdomain; a means for defining a default setting of projected CG method with preprocessing of all degree of freedom; a means for performing iterative computation of projected CG method with preprocessing of all degree of freedom; and a means for outputting a displacement solution.
 2. A parallel finite element method computing system set forth in claim 1, in which said means for defining overlapped movement of entire subdomain may further comprise: a means for creating a projector for displaying all degree of freedom; a means for creating an overlapped movement matrix of entire subdomain; and a means for LU decomposing said overlapped movement matrix of entire subdomain.
 3. A parallel finite element method computing system set forth in claim 1, in which said means for defining a default setting of projected CG method with preprocessing of all degree of freedom may further comprise: a means for setting initial displacement of all degree of freedom; a means for performing computation of initial residual error of all degree of freedom; a means for performing computation of diagonal scaling preprocessing; a means for performing computation of coarse grid preprocessing of all degree of freedom; and a means for defining an initial vector value in the search direction of CG method with all degree of freedom.
 4. A parallel finite element method computing system set forth in claim 1, in which said means for performing iterative computation of projected CG method with preprocessing of all degree of freedom may further comprise: a means for updating the displacement of all degree of freedom; a means for updating the residual error of all degree of freedom; a means for performing computation of diagonal scaling preprocessing; a means for performing computation of coarse grid preprocessing of all degree of freedom; a means for updating vectors in the search direction of CG method of all degree of freedom; and a means of determining the convergence.
 5. A parallel finite element method computing program used in a parallel finite element method computing system for solving a very large scaled structure problem having the degree of freedom of one million (1,000,000) or more, characterized in that said program operates as a means for performing domain decomposition; a means for distributing a subdomain to a responsible part of each processor; a means for creating a rigid matrix; a means for defining overlapped movement of entire subdomain; a means for defining a default setting of projected CG method with preprocessing of all degree of freedom; a means for performing iterative computation of projected CG method with preprocessing of all degree of freedom; and a means for outputting a displacement solution,
 6. A parallel finite element method computing program set forth in claim 5, in which said means for defining overlapped movement of entire subdomain may further operate as a means for creating a projector for displaying all degree of freedom; a means for creating an overlapped movement matrix of entire subdomain; and a means for LU decomposing said overlapped movement matrix of entire subdomain;
 7. A parallel finite element method computing program, set forth in claim 5, in which said means for defining a default setting of projected CG method with preprocessing of all degree of freedom may further operate as a means for setting initial displacement of all degree of freedom; a means for performing computation of initial residual error of all degree of freedom; a means for performing computation of diagonal scaling preprocessing; a means for performing computation of coarse grid preprocessing of all degree of freedom; and a means for defining an initial vector value in the search direction of CG method with all degree of freedom;
 8. A parallel finite element method computing program, set forth in claim 5, in which said means for performing iterative computation of projected CG method with preprocessing of all degree of freedom may further operate as a means for updating the displacement of all degree of freedom; a means for updating the residual error of all degree of freedom; a means for performing computation of diagonal scaling preprocessing; a means for performing computation of coarse grid preprocessing of all degree of freedom; a means for updating vectors in the search direction of CG method of all degree of freedom; and a means of determining the convergence.
 9. A computer readable recording medium having stored thereon a parallel finite element method computing program used in a parallel finite element method computing system for solving a very large scaled structure problem having the degree of freedom of one million (1,000,000) or more, characterized in that said program operates as a means for performing domain decomposition; a means for distributing a subdomain to a responsible part of each processor; a means for creating a rigid matrix; a means for defining overlapped movement of entire subdomain; a means for defining a default setting of projected CG method with preprocessing of all degree of freedom; a means for performing iterative computation of projected CG method with preprocessing of all degree of freedom; and a means for outputting a displacement solution.
 10. A computer readable recording medium having stored thereon a parallel finite element method computing program set forth in claim 9, in which said means for defining overlapped movement of entire subdomain may further operate as a means for creating a projector for displaying all degree of freedom; a means for creating an overlapped movement matrix of entire subdomain; and a means for LU decomposing said overlapped movement matrix of entire subdomain.
 11. A computer readable recording medium having stored thereon a parallel finite element method computing program set forth in claim 9, in which said means for defining a default setting of projected CG method with preprocessing of all degree of freedom may further operate as a means for setting initial displacement of all degree of freedom; a means for performing computation of initial residual error of all degree of freedom; a means for performing computation of diagonal scaling preprocessing; a means for performing computation of coarse grid preprocessing of all degree of freedom; and a means for defining an initial vector value in the search direction of CG method with all degree of freedom.
 12. A computer readable recording medium having stored thereon a parallel finite element method computing program, set forth in claim 9, in which said means for performing iterative computation of projected CG method with preprocessing of all degree of freedom may further operate as a means for updating the displacement of all degree of freedom; a means for updating the residual error of all degree of freedom; a means for performing computation of diagonal scaling preprocessing; a means for performing computation of coarse grid preprocessing of all degree of freedom; a means for updating vectors in the search direction of CG method of all degree of freedom; and a means of determining the convergence. 